package com.titan.core.utils.thread;

import java.util.HashMap;
import java.util.Map;

/**
 * @author 周成功
 * @email 86898837@qq.com
 * @date 2020年02月20日
 */
public class ThreadLocalUtils {
    private static final ThreadLocal<Map<String,Object>> contextHolder = new ThreadLocal<Map<String,Object>>();
    
    
    // 获得数据容器
    public static Map<String,Object> getContainer() {
        if(contextHolder.get()==null) {
            Map<String,Object> container =new HashMap<String,Object>();
            contextHolder.set(container);
        }
        return contextHolder.get();
    }
    
    
    /** 删除容器所有数据 */
    public static void clear() {
        getContainer().clear();
    }
    
    
    /** 删除指定的容器数据 */
    public static void remove(String key) {
        getContainer().remove(key);
    }
    
    
    /** 从容器中取值 */
    public static Object getValue(String key) {
        return getContainer().get(key);
    }
    
    
    /** 向容器中存放内容 */
    public static void setValue(String key, Object object) {
        getContainer().put(key, object);
    }
}
